package som.simon.reactor;

import reactor.core.publisher.Flux;

import java.io.IOException;
import java.time.Duration;

public class FluxMain {

    public static void main(String[] args) throws IOException {

        Flux<Integer> just = Flux.just(1, 3, 4, 5);

        //流 不消费就没用
        just.map(ix -> String.format("one => %d", ix)).subscribe(System.out::println);
        // 一个数据流可以有多个消费者
        just.map(ix -> String.format("two => %d", ix)).subscribe(System.out::println);

        // 对于每个消费者 流都是一样的 类比为 消息的广播模式


        System.out.println("-----------------------------------------");

        Flux<Long> interval = Flux.interval(Duration.ofSeconds(1));

        interval.subscribe(System.out::println);

        // 阻塞线程
        System.in.read();
    }

}
